<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>sdps: xsdps_hw.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">sdps
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_14bc92f4b96c8519b376567118ac28b3.html">drivers</a></li><li class="navelem"><a class="el" href="dir_45da78972219ed4b1e86b0106333fc6f.html">sdps</a></li><li class="navelem"><a class="el" href="dir_1f2d8945090dc3da09642cfef9a626e8.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">xsdps_hw.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a4a55b0eb764237348b7c114ead56329c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#a4a55b0eb764237348b7c114ead56329c">XSdPs_ReadReg64</a>(InstancePtr,  RegOffset)&#160;&#160;&#160;XSdPs_In64((InstancePtr-&gt;Config.BaseAddress) + RegOffset)</td></tr>
<tr class="separator:a4a55b0eb764237348b7c114ead56329c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f7f95a16a317823206656837e49db9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#a52f7f95a16a317823206656837e49db9">XSdPs_WriteReg64</a>(InstancePtr,  RegOffset,  RegisterValue)</td></tr>
<tr class="separator:a52f7f95a16a317823206656837e49db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a646a41608d5de978c0a20b3e762ecf8e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#a646a41608d5de978c0a20b3e762ecf8e">XSdPs_ReadReg</a>(BaseAddress,  RegOffset)&#160;&#160;&#160;XSdPs_In32((BaseAddress) + (RegOffset))</td></tr>
<tr class="separator:a646a41608d5de978c0a20b3e762ecf8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4aa5ec8c5cdb784b1741a7c940c707d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#ac4aa5ec8c5cdb784b1741a7c940c707d">XSdPs_WriteReg</a>(BaseAddress,  RegOffset,  RegisterValue)&#160;&#160;&#160;XSdPs_Out32((BaseAddress) + (RegOffset), (RegisterValue))</td></tr>
<tr class="separator:ac4aa5ec8c5cdb784b1741a7c940c707d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bb7456993f8b6896274b04ca8f763f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#ac8bb7456993f8b6896274b04ca8f763f">XSdPs_ReadReg16</a>(BaseAddress,  RegOffset)&#160;&#160;&#160;XSdPs_In16((BaseAddress) + (RegOffset))</td></tr>
<tr class="separator:ac8bb7456993f8b6896274b04ca8f763f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82227212d9a9ff62265b208260b54df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#ab82227212d9a9ff62265b208260b54df">XSdPs_WriteReg16</a>(BaseAddress,  RegOffset,  RegisterValue)&#160;&#160;&#160;XSdPs_Out16((BaseAddress) + (RegOffset), (RegisterValue))</td></tr>
<tr class="separator:ab82227212d9a9ff62265b208260b54df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8184055596e3533017e3e5c74a894382"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#a8184055596e3533017e3e5c74a894382">XSdPs_ReadReg8</a>(BaseAddress,  RegOffset)&#160;&#160;&#160;XSdPs_In8((BaseAddress) + (RegOffset))</td></tr>
<tr class="separator:a8184055596e3533017e3e5c74a894382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a999a865f3f058ecb95492e88e6807210"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#a999a865f3f058ecb95492e88e6807210">XSdPs_WriteReg8</a>(BaseAddress,  RegOffset,  RegisterValue)&#160;&#160;&#160;XSdPs_Out8((BaseAddress) + (RegOffset), (RegisterValue))</td></tr>
<tr class="separator:a999a865f3f058ecb95492e88e6807210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a768d7e5f5c4d7f82fc1acad5d6febb9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xsdps__hw_8h.html#a768d7e5f5c4d7f82fc1acad5d6febb9a">XSdPs_GetPresentStatusReg</a>(BaseAddress)&#160;&#160;&#160;XSdPs_In32((BaseAddress) + (<a class="el" href="group__sdps__v2__5.html#gac4498ffd6183ea9be4bee7d2f178d8d0">XSDPS_PRES_STATE_OFFSET</a>))</td></tr>
<tr class="separator:a768d7e5f5c4d7f82fc1acad5d6febb9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Register Map</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Register offsets from the base address of an SD device. </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Control Register - Host control, Power control,</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Block Gap control and Wakeup control</p>
<p>This register contains bits for various configuration options of the SD host controller. Read/Write apart from the reserved bits. </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Control Register - Clock control, Timeout control &amp; Software reset</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register contains bits for configuration options of clock, timeout and software reset.</p>
<p>Read/Write except for Inter_Clock_Stable bit (read only) and reserved bits. </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">SD Interrupt Registers</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><b> Normal and Error Interrupt Status Register </b> This register shows the normal and error interrupt status.</p>
<p>Status enable register affects reads of this register. If Signal enable register is set and the corresponding status bit is set, interrupt is generated. Write to clear except Error_interrupt and Card_Interrupt bits - Read only</p>
<p><b> Normal and Error Interrupt Status Enable Register </b> Setting this register bits enables Interrupt status. Read/Write except Fixed_to_0 bit (Read only)</p>
<p><b> Normal and Error Interrupt Signal Enable Register </b> This register is used to select which interrupt status is indicated to the Host System as the interrupt. Read/Write except Fixed_to_0 bit (Read only)</p>
<p>All three registers have same bit definitions </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Block Size and Block Count Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register contains the block count for current transfer, block size and SDMA buffer size.</p>
<p>Read/Write except for reserved bits. </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Transfer Mode and Command Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The Transfer Mode register is used to control the data transfers and Command register is used for command generation Read/Write except for reserved bits. </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Auto CMD Error Status Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is read only register which contains information about the error status of Auto CMD 12 and 23.</p>
<p>Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Host Control2 Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register contains extended configuration bits.</p>
<p>Read Write </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Capabilities Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Capabilities register is a read only register which contains information about the host controller.</p>
<p>Sufficient if read once after power on. Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Present State Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Gives the current status of the host controller Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Maximum Current Capablities Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is read only register which contains information about current capabilities at each voltage levels.</p>
<p>Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Force Event for Auto CMD Error Status Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is write only register which contains control bits to generate events for Auto CMD error status.</p>
<p>Write Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Force Event for Error Interrupt Status Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is write only register which contains control bits to generate events of error interrupt status register.</p>
<p>Write Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">ADMA Error Status Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is read only register which contains status information about ADMA errors.</p>
<p>Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Preset Values Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is read only register which contains preset values for each of speed modes.</p>
<p>Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Slot Interrupt Status Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is read only register which contains interrupt slot signal for each slot.</p>
<p>Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Host Controller Version Register</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>This register is read only register which contains Host Controller and Vendor Specific version.</p>
<p>Read Only </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Block size mask for 512 bytes</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Block size mask for 512 bytes - This is the default block size. </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">Commands</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Constant definitions for commands and response related to SD </p>
</div></td></tr>
<tr><td colspan="2"><div class="groupHeader">ADMA2 Descriptor related definitions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>ADMA2 Descriptor related definitions </p>
</div></td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a00438bd1ff27c655554bd7a25902032a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSDPS_CLK_400_KHZ&#160;&#160;&#160;400000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>400 KHZ </p>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#ga3c3ab46b98e997b8439af4b149445811">XSdPs_CardInitialize()</a>, and <a class="el" href="group__sdps__v2__5.html#gabcd75a06ca4fb42ebcec4526282dffdf">XSdPs_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="abd543d644ecb839a4e0e353465acb782"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSDPS_CLK_50_MHZ&#160;&#160;&#160;50000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>50 MHZ </p>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#ga6bc000fb4ce51502058f2e351c90fc19">XSdPs_Change_BusSpeed()</a>.</p>

</div>
</div>
<a class="anchor" id="adccb3f34649212e076ede7b7d0d0e5b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSDPS_CLK_52_MHZ&#160;&#160;&#160;52000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>52 MHZ </p>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#ga6bc000fb4ce51502058f2e351c90fc19">XSdPs_Change_BusSpeed()</a>.</p>

</div>
</div>
<a class="anchor" id="a768d7e5f5c4d7f82fc1acad5d6febb9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_GetPresentStatusReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td>&#160;&#160;&#160;XSdPs_In32((BaseAddress) + (<a class="el" href="group__sdps__v2__5.html#gac4498ffd6183ea9be4bee7d2f178d8d0">XSDPS_PRES_STATE_OFFSET</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macro to get present status register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void XSdPs_WriteReg(u32 BaseAddress, int RegOffset, u8 RegisterValue) </dd></dl>

</div>
</div>
<a class="anchor" id="a646a41608d5de978c0a20b3e762ecf8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XSdPs_In32((BaseAddress) + (RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to the target register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value read from the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 XSdPs_ReadReg(u32 BaseAddress. int RegOffset) </dd></dl>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#gabcd75a06ca4fb42ebcec4526282dffdf">XSdPs_CfgInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga6bc000fb4ce51502058f2e351c90fc19">XSdPs_Change_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#gaf11db1719933123762fecb790a2977da">XSdPs_Change_BusWidth()</a>, <a class="el" href="group__sdps__v2__5.html#ga1c5c45efb0402b9d8e6a33d036dbd220">XSdPs_CmdTransfer()</a>, <a class="el" href="group__sdps__v2__5.html#gafc7e71cb62142d0ef939336195102666">XSdPs_Get_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#ga779d417f6a1e5d772b017a92485583a1">XSdPs_Get_BusWidth()</a>, <a class="el" href="group__sdps__v2__5.html#ga69e8d7cd927da4273a12d0d5fb3f36ff">XSdPs_Get_Mmc_ExtCsd()</a>, <a class="el" href="group__sdps__v2__5.html#gae55b1aa663629e99a9da94619c7487c5">XSdPs_MmcCardInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga8dfe3686ed74d09a2a46a7b5cddcde47">XSdPs_ReadPolled()</a>, <a class="el" href="group__sdps__v2__5.html#ga8e9a576dfdb4440a795eb6e712994050">XSdPs_SdCardInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga1af3178b4b24c991b431eb7a0aa3b23b">XSdPs_SetBlkSize()</a>, and <a class="el" href="group__sdps__v2__5.html#ga69aa57979c1ef9b9ec3fbdc6d8ab7277">XSdPs_WritePolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ac8bb7456993f8b6896274b04ca8f763f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_ReadReg16</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XSdPs_In16((BaseAddress) + (RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to the target register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value read from the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u16 XSdPs_ReadReg(u32 BaseAddress. int RegOffset) </dd></dl>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#gabcd75a06ca4fb42ebcec4526282dffdf">XSdPs_CfgInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga6bc000fb4ce51502058f2e351c90fc19">XSdPs_Change_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#gaf11db1719933123762fecb790a2977da">XSdPs_Change_BusWidth()</a>, <a class="el" href="group__sdps__v2__5.html#ga1f8661e4ae53a7c29b3fd44cc56a3673">XSdPs_Change_ClkFreq()</a>, <a class="el" href="group__sdps__v2__5.html#ga1c5c45efb0402b9d8e6a33d036dbd220">XSdPs_CmdTransfer()</a>, <a class="el" href="group__sdps__v2__5.html#gafc7e71cb62142d0ef939336195102666">XSdPs_Get_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#ga779d417f6a1e5d772b017a92485583a1">XSdPs_Get_BusWidth()</a>, <a class="el" href="group__sdps__v2__5.html#ga69e8d7cd927da4273a12d0d5fb3f36ff">XSdPs_Get_Mmc_ExtCsd()</a>, <a class="el" href="group__sdps__v2__5.html#gae55b1aa663629e99a9da94619c7487c5">XSdPs_MmcCardInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga8dfe3686ed74d09a2a46a7b5cddcde47">XSdPs_ReadPolled()</a>, <a class="el" href="group__sdps__v2__5.html#ga8e9a576dfdb4440a795eb6e712994050">XSdPs_SdCardInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#gaf9b8a29b65e1213b11ad22312e5f84be">XSdPs_SetupADMA2DescTbl()</a>, <a class="el" href="group__sdps__v2__5.html#gac1b8731883e13754fb03d56327ef2b5d">XSdPs_Uhs_ModeInit()</a>, and <a class="el" href="group__sdps__v2__5.html#ga69aa57979c1ef9b9ec3fbdc6d8ab7277">XSdPs_WritePolled()</a>.</p>

</div>
</div>
<a class="anchor" id="a4a55b0eb764237348b7c114ead56329c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_ReadReg64</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XSdPs_In64((InstancePtr-&gt;Config.BaseAddress) + RegOffset)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to the target register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value read from the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 XSdPs_ReadReg(<a class="el" href="struct_x_sd_ps.html" title="The XSdPs driver instance data. ">XSdPs</a> *InstancePtr. s32 RegOffset) </dd></dl>

</div>
</div>
<a class="anchor" id="a8184055596e3533017e3e5c74a894382"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_ReadReg8</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XSdPs_In8((BaseAddress) + (RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to the target register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value read from the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u8 XSdPs_ReadReg(u32 BaseAddress. int RegOffset) </dd></dl>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#gabcd75a06ca4fb42ebcec4526282dffdf">XSdPs_CfgInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga6bc000fb4ce51502058f2e351c90fc19">XSdPs_Change_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#gaf11db1719933123762fecb790a2977da">XSdPs_Change_BusWidth()</a>, and <a class="el" href="group__sdps__v2__5.html#ga8e9a576dfdb4440a795eb6e712994050">XSdPs_SdCardInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="abbc29a3acebf5bea2f4afb199b57d9f7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSDPS_SD_VER_1_0&#160;&#160;&#160;0x1U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SD ver 1. </p>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#ga8e9a576dfdb4440a795eb6e712994050">XSdPs_SdCardInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ace3664498f4835a67a54b75f73c93017"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSDPS_SD_VER_2_0&#160;&#160;&#160;0x2U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SD ver 2. </p>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#ga8e9a576dfdb4440a795eb6e712994050">XSdPs_SdCardInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ac4aa5ec8c5cdb784b1741a7c940c707d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_WriteReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegisterValue&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XSdPs_Out32((BaseAddress) + (RegOffset), (RegisterValue))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write to a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to target register. </td></tr>
    <tr><td class="paramname">RegisterValue</td><td>is the value to be written to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void XSdPs_WriteReg(u32 BaseAddress, int RegOffset, u32 RegisterValue) </dd></dl>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#ga1c5c45efb0402b9d8e6a33d036dbd220">XSdPs_CmdTransfer()</a>, and <a class="el" href="group__sdps__v2__5.html#gaf9b8a29b65e1213b11ad22312e5f84be">XSdPs_SetupADMA2DescTbl()</a>.</p>

</div>
</div>
<a class="anchor" id="ab82227212d9a9ff62265b208260b54df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_WriteReg16</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegisterValue&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XSdPs_Out16((BaseAddress) + (RegOffset), (RegisterValue))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write to a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to target register. </td></tr>
    <tr><td class="paramname">RegisterValue</td><td>is the value to be written to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void XSdPs_WriteReg(u32 BaseAddress, int RegOffset, u16 RegisterValue) </dd></dl>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#gabcd75a06ca4fb42ebcec4526282dffdf">XSdPs_CfgInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga6bc000fb4ce51502058f2e351c90fc19">XSdPs_Change_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#gaf11db1719933123762fecb790a2977da">XSdPs_Change_BusWidth()</a>, <a class="el" href="group__sdps__v2__5.html#ga1f8661e4ae53a7c29b3fd44cc56a3673">XSdPs_Change_ClkFreq()</a>, <a class="el" href="group__sdps__v2__5.html#ga1c5c45efb0402b9d8e6a33d036dbd220">XSdPs_CmdTransfer()</a>, <a class="el" href="group__sdps__v2__5.html#gafc7e71cb62142d0ef939336195102666">XSdPs_Get_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#ga779d417f6a1e5d772b017a92485583a1">XSdPs_Get_BusWidth()</a>, <a class="el" href="group__sdps__v2__5.html#ga69e8d7cd927da4273a12d0d5fb3f36ff">XSdPs_Get_Mmc_ExtCsd()</a>, <a class="el" href="group__sdps__v2__5.html#ga8dfe3686ed74d09a2a46a7b5cddcde47">XSdPs_ReadPolled()</a>, <a class="el" href="group__sdps__v2__5.html#ga1af3178b4b24c991b431eb7a0aa3b23b">XSdPs_SetBlkSize()</a>, <a class="el" href="group__sdps__v2__5.html#gac1b8731883e13754fb03d56327ef2b5d">XSdPs_Uhs_ModeInit()</a>, and <a class="el" href="group__sdps__v2__5.html#ga69aa57979c1ef9b9ec3fbdc6d8ab7277">XSdPs_WritePolled()</a>.</p>

</div>
</div>
<a class="anchor" id="a52f7f95a16a317823206656837e49db9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_WriteReg64</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegisterValue&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">XSdPs_Out64((InstancePtr-&gt;Config.BaseAddress) + (RegOffset), \</div>
<div class="line">                (RegisterValue))</div>
</div><!-- fragment -->
<p>Write to a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to target register. </td></tr>
    <tr><td class="paramname">RegisterValue</td><td>is the value to be written to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void XSdPs_WriteReg(<a class="el" href="struct_x_sd_ps.html" title="The XSdPs driver instance data. ">XSdPs</a> *InstancePtr, s32 RegOffset, u64 RegisterValue) </dd></dl>

</div>
</div>
<a class="anchor" id="a999a865f3f058ecb95492e88e6807210"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSdPs_WriteReg8</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegisterValue&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XSdPs_Out8((BaseAddress) + (RegOffset), (RegisterValue))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write to a register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>contains the offset from the 1st register of the device to target register. </td></tr>
    <tr><td class="paramname">RegisterValue</td><td>is the value to be written to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void XSdPs_WriteReg(u32 BaseAddress, int RegOffset, u8 RegisterValue) </dd></dl>

<p>Referenced by <a class="el" href="group__sdps__v2__5.html#gabcd75a06ca4fb42ebcec4526282dffdf">XSdPs_CfgInitialize()</a>, <a class="el" href="group__sdps__v2__5.html#ga6bc000fb4ce51502058f2e351c90fc19">XSdPs_Change_BusSpeed()</a>, <a class="el" href="group__sdps__v2__5.html#gaf11db1719933123762fecb790a2977da">XSdPs_Change_BusWidth()</a>, <a class="el" href="group__sdps__v2__5.html#ga1c5c45efb0402b9d8e6a33d036dbd220">XSdPs_CmdTransfer()</a>, and <a class="el" href="group__sdps__v2__5.html#ga8e9a576dfdb4440a795eb6e712994050">XSdPs_SdCardInitialize()</a>.</p>

</div>
</div>
</div><!-- contents -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
